class Solution {
    public int findTargetSumWays(int[] nums, int target) {
            int len = nums.length ;
            int sum = 0 ; 
            for(int x : nums) sum += x ;
            if(sum + target < 0 || (sum+target)%2==1) return 0 ; 
            sum = (sum+target)/2 ;
             int[] dp = new int[sum+1] ;
             dp[0] = 1 ;
             for(int i= 0 ; i< len ; i ++  ){
                for(int j=sum ; j>=0 ; j --){
                     if(j >= nums[i]){
                        dp[j] += dp[j-nums[i]];
                     }
                }
             }
          return dp[sum] ; 

    }
}